トラックバックを受信するコードを実現しましたが、文字コードのことを考えていませんでした。はてなダイアリーなどは UTF8 なのですが、goo ブログは euc-jp らしく、UTF8 で運用しているブログでそのまま受信すると文字化けしてしまいます。そこで、受信したトラックバックの内容を UTF8 に変換するコードを書く必要があります。

Ruby で文字コードを変換する方法はいろいろとありますが、ここでは kconv を使用します。kconv を使用すると、文字コードの自動判別をさせながら utf8 に変換するコードを書くことができます。

例としては以下のようになります。toutf8 というメソッドが文字列を utf8 に変換しています。

require 'kconv'
@trackback.title = @title.toutf8
@trackback.excerpt = @excerpt.toutf8
@trackback.url = @url.toutf8
@trackback.blog_name = @blog_name.toutf8

もっと詳しく知りたい方は、こちらのページを参照することをお勧めします。

Posted by あかさた
最近のエントリ
最近の読書メモ